In image-guided therapy, such as image-guided surgery and radiation therapy planning, an accurate 3D model of human anatomy (e.g., bone, tumors, tissues, etc.) is extremely important. Cross-sectional images (commonly referred to as “slices”) of anatomical objects can be obtained using Computed Tomography (CT), Magnetic Resonance Imaging (MRI), ultrasound, and other imaging techniques. A general approach for constructing a 3D model surface of the imaged object is to connect a series of contours of human anatomy on a set of parallel or substantially parallel image slices. Image segmentation on parallel slices is typically a very time consuming task. For example, for a knee application, a user may need to segment over 80 slices, which can take 40 minutes to manually complete. Automatic segmentation of as many slices as possible can reduce the completion time.
Interactive segmentation can be used for difficult segmentation tasks in image-guided therapy. “Live Wire” and “Active Contour” are two interactive segmentation techniques. Active Contour (or Snakes) is based on constructing a cost function to measure the appropriateness of a contour, wherein the best solution corresponds to the path with the lowest cost function value. In a discrete case, the contour is approximated by control points at equal intervals around a structure. However, Active Contour is limited in ability to find contours in images. Initial control points are placed around the contour, but the initial control points are only an estimate of the contour, and additional information is required to find a true contour. Active Contour is sensitive to the initial placement of control points, which have to be placed near a contour of interest to work correctly. Additionally, the local minimum of the cost function may not coincide with a correct contour.
For difficult situations, Live Wire can be used without compromising the accuracy of the segmentation. Live Wire requires a user to manually enter the control points (e.g., by clicking a computer mouse to enter each point) for each contour. For example, for 80 slices, if each slice has 18 control points, the user has to click the mouse 1,440 times. In addition to the time required to manually enter control points, Live Wire may experience what is referred to as a “boundary snapping problem.” When one slice has two adjacent contours, a boundary pixel of a second adjacent contour may have a higher cost function than a boundary pixel of a first contour, and thus if the user attempts to select a pixel on the boundary of the first contour, the higher cost of a pixel on the boundary of the second contour may result in the pixel being snapped to a boundary edge of the second contour instead of the first contour. Boundary snapping can result in an erroneous Live Wire segment unless the user selects more control points to circumvent this boundary snapping problem.